// import com.alibaba.druid.DbType;
// import com.alibaba.druid.sql.SQLUtils;
// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.statement.SQLExplainStatement;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../../ast/statement/SQLExplainStatement.h"
#include "OracleStatement.h"

class OracleExplainStatement : virtual public SQLExplainStatement, virtual public OracleStatement
{
public:
  SQLExpr_ptr statementId;
  SQLExpr_ptr into;

  OracleExplainStatement();
  SHAREDOBJECT(OracleExplainStatement);
  // @Override
  void accept0(OracleASTVisitor_ptr visitor);

  void accept0(SQLASTVisitor_ptr visitor);

  string_ptr toString();

  SQLExpr_ptr getStatementId();

  void setStatementId(SQLExpr_ptr statementId);

  SQLExpr_ptr getInto();

  void setInto(SQLExpr_ptr into);
};
